package com.gzu.finalwork.entity.user;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户地址信息表
 */
@Data
public class Addresses {
    private Long addressId; // 地址唯一标识ID

    private Long userId; // 用户ID，关联users表

    private String contactName; // 联系人姓名

    private String contactPhone; // 联系人电话

    private String fullAddress; // 完整地址（省市区+详细地址的合成地址）

    private Double longitude; // 经度
    private Double latitude; // 纬度

    // 地理编码状态
    private Integer geocodeStatus; // 0-未解析，1-解析成功，2-解析失败

    private Integer isDefault; //1-寄件地址，0-收件地址
    // 是否默认地址：1-是，0-否

    private LocalDateTime createdAt; // 创建时间

    private LocalDateTime updatedAt; // 更新时间

    // 便捷方法：检查是否有坐标
    public boolean hasCoordinates() {
        return longitude != null && latitude != null;
    }

    // 便捷方法：检查是否已地理编码
    public boolean isGeocoded() {
        return geocodeStatus != null && geocodeStatus == 1 && hasCoordinates();
    }
}